home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacApp Release 10 / MacApp Release 10 - HD Ready / Libraries / Core / Sources / Toolbox.cp < prev    next >
Encoding:
Text File  |  1996-04-03  |  3.8 KB  |  165 lines  |  [TEXT/MPS ]

  1. //----------------------------------------------------------------------------------------
  2. // Toolbox.cp 
  3. // Copyright © 1985-96 by Apple Computer, Inc. All rights reserved.
  4. //----------------------------------------------------------------------------------------
  5.  
  6. #ifndef __TOOLBOX__
  7. #include "Toolbox.h"
  8. #endif
  9.  
  10. // MacApp
  11.  
  12. #ifndef __PASCALSTRING__
  13. #include "PascalString.h"
  14. #endif
  15.  
  16. // Toolbox
  17.  
  18. #ifndef __MEMORY__
  19. #include <Memory.h>
  20. #endif
  21.  
  22. #pragma segment MARes
  23.  
  24.  
  25. //========================================================================================
  26. // CLASS CRGBColor
  27. //========================================================================================
  28.  
  29.  
  30. //----------------------------------------------------------------------------------------
  31. // Comparison operators for CRGBColor
  32. //----------------------------------------------------------------------------------------
  33.     
  34. Boolean CRGBColor::operator ==(const CRGBColor& color) const
  35. {
  36.     return red == color.red && green == color.green && blue == color.blue;
  37. }
  38.  
  39. //----------------------------------------------------------------------------------------
  40. // Arithmatic, by another color for CRGBColor
  41. //----------------------------------------------------------------------------------------
  42.     
  43. CRGBColor CRGBColor::operator +(const CRGBColor& color) const
  44. {
  45.     return CRGBColor(red + color.red, green + color.green, blue + color.blue);
  46. }
  47.  
  48. CRGBColor CRGBColor::operator -(const CRGBColor& color) const
  49. {
  50.     return CRGBColor(red - color.red, green - color.green, blue - color.blue);
  51. }
  52.  
  53. CRGBColor CRGBColor::operator *(const CRGBColor& color) const
  54. {
  55.     return CRGBColor(red * color.red, green * color.green, blue * color.blue);
  56. }
  57.  
  58. CRGBColor CRGBColor::operator /(const CRGBColor& color) const
  59. {
  60.     return CRGBColor(red / color.red, green / color.green, blue / color.blue);
  61. }
  62.  
  63. CRGBColor& CRGBColor::operator +=(const CRGBColor& color)
  64. {
  65.     red += color.red;
  66.     green += color.green;
  67.     blue += color.blue;
  68.     
  69.     return *this;
  70. }
  71.  
  72. CRGBColor& CRGBColor::operator -=(const CRGBColor& color)
  73. {
  74.     red -= color.red;
  75.     green -= color.green;
  76.     blue -= color.blue;
  77.     
  78.     return *this;
  79. }
  80.  
  81. CRGBColor& CRGBColor::operator *=(const CRGBColor& color)
  82. {
  83.     red *= color.red;
  84.     green *= color.green;
  85.     blue *= color.blue;
  86.     
  87.     return *this;
  88. }
  89.  
  90. CRGBColor& CRGBColor::operator /=(const CRGBColor& color)
  91. {
  92.     red /= color.red;
  93.     green /= color.green;
  94.     blue /= color.blue;
  95.     
  96.     return *this;
  97. }
  98.     
  99.  
  100. //----------------------------------------------------------------------------------------
  101. // Arithmatic, by scalar for CRGBColor
  102. //----------------------------------------------------------------------------------------
  103.  
  104. CRGBColor CRGBColor::operator +(const unsigned short aScalar) const
  105. {
  106.     return CRGBColor(red + aScalar, green + aScalar, blue + aScalar);
  107. }
  108.  
  109. CRGBColor CRGBColor::operator -(const unsigned short aScalar) const
  110. {
  111.     return CRGBColor(red - aScalar, green - aScalar, blue - aScalar);
  112. }
  113.  
  114. CRGBColor CRGBColor::operator *(const unsigned short aScalar) const
  115. {
  116.     return CRGBColor(red * aScalar, green * aScalar, blue * aScalar);
  117. }
  118.  
  119. CRGBColor CRGBColor::operator /(const unsigned short aScalar) const
  120. {
  121.     return CRGBColor(red / aScalar, green / aScalar, blue / aScalar);
  122. }
  123.  
  124.     
  125. CRGBColor& CRGBColor::operator +=(const unsigned short aScalar)
  126. {
  127.     red += aScalar;
  128.     green += aScalar;
  129.     blue += aScalar;
  130.     
  131.     return *this;
  132. }
  133.  
  134. CRGBColor& CRGBColor::operator -=(const unsigned short aScalar)
  135. {
  136.     red -= aScalar;
  137.     green -= aScalar;
  138.     blue -= aScalar;
  139.     
  140.     return *this;
  141. }
  142.  
  143. CRGBColor& CRGBColor::operator *=(const unsigned short aScalar)
  144. {
  145.     red *= aScalar;
  146.     green *= aScalar;
  147.     blue *= aScalar;
  148.     
  149.     return *this;
  150. }
  151.  
  152. CRGBColor& CRGBColor::operator /=(const unsigned short aScalar)
  153. {
  154.     red /= aScalar;
  155.     green /= aScalar;
  156.     blue /= aScalar;
  157.     
  158.     return *this;
  159. }
  160.  
  161. //----------------------------------------------------------------------------------------
  162. // End of Toolbox.cp
  163.  
  164. #pragma segment Inline
  165.